var estimateQuestion = new Object();
var options = [];

estimateQuestion.init = function(){
    estimateQuestion.handle();
    estimateQuestion.initForm();
}

estimateQuestion.initForm = function () {
    $("#chooseTypeDiv").show();  //单选多选选项
    $("#checkBoxAnswerDiv").hide(); //多选正确答案
    $("#radioAnswerDiv").show(); //单选正确答案
    $("#checkAnswerDiv").hide();  //判断题正确答案
    $("#textAnswerDesc").hide();    //文字题正确答案
    $("input[name='chrCategory']:eq(0)").attr("checked","checked");//试题类型
    // $("input[name='textFlag']:eq(1)").attr("checked","checked");//是否使用富文本，默认否
    $("input[name='intImportant']:eq(0)").attr("checked","checked");//重要度
    $("input[name='chrValid']:eq(0)").attr("checked","checked"); //是否有效
    $("input[name='chrType']:eq(0)").attr("checked","checked");

    $("#tianKongBtn").hide();
    $("#tianKongAnswerDiv1").hide();
}


estimateQuestion.handle = function () {
    //保存
    $("#save").click(function () {
        if(checkFormValue()) { //检查表单内容
            //  清空未填选项、
            $("#chooseOptions .row").each(function () {
                var obj = $(this);
                var textareaText = $(obj).find(" textarea").val();
                if(textareaText == ""){
                    $(obj).html("");    //清除没内容的选项
                }
            });

            $("#save").attr({"disabled":"disabled"});

            var form = $("#addQuestionForm");
            var options = {
                url: appPath + "/admin/estimateQuestion/save",
                success: function (datas) {

                    if (datas.result == "error") {
                        layer.msg(datas.massagesg);
                        return;
                    }

                    parent.window.location.href = appPath + "/admin/estimate/update?id=" + $("#estimateId").val();
                }
            };
            form.ajaxSubmit(options);
        }
    });

};

function imageHtml(images, imageLable, update) {

    var arr = [];

    arr = images.split(";");
    var html = "";
    for (var i = 0; i < arr.length; i++) {

        var sing = arr[i].split(",");

        // 修改的时候，能够删除图片
        if (update == '1') {

            // html += '<lable id=\'' + sing[0].split(".")[0] + '\'><span>' + sing[1] + '</span>' + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a style="color: #0e90d2" onclick="delLable(\''+sing[0].split(".")[0]+'\',\''+ imageLable +'\')" >' + '删除' + "</a></br></lable>";

            html += '<label id="' + sing[0].split(".")[0] + '">';
            html += '<span>' + sing[1] + '</span>&nbsp;&nbsp;';
            html += '<a style="color: #0e90d2" href="' + appPath + '/popup/msg/download/' + sing[0] + '?fileName=' + sing[1] + '">下载</a>&nbsp;&nbsp;';
            html += '<a style="color: #0e90d2" onclick="delLable(\'' + sing[0].split(".")[0] + '\',\'' + imageLable + '\',\'' + arr + '\')">删除</a>';
            html += '</br>';
            html += '</label>&nbsp;&nbsp;&nbsp;';


            // 试题解析不能修改
        } else {
            // html += '<lable id=\'' + sing[0].split(".")[0] + '\'><span>' + sing[1] + '</span>' + '&nbsp;' + "</br></lable>";

            html += '<label id="' + sing[0].split(".")[0] + '">';
            html += '<span>' + sing[1] + '</span>&nbsp;&nbsp;';
            html += '<a style="color: #0e90d2" href="' + appPath + '/popup/msg/download/' + sing[0] + '?fileName=' + sing[1] + '">下载</a>&nbsp;&nbsp;';
            // html += '<a style="color: #0e90d2" onclick="delLable(\''+ sing[0].split(".")[0] +'\',\''+ imageLable +'\')">删除</a>';
            html += '</br>';
            html += '</label>&nbsp;&nbsp;&nbsp;';


        }
    }
    $("#" + imageLable).html(html);
}

// 题目类型切换
function chrTypeFun(){
    var typeNo = $("#chrType").val();

    $("#tianKongBtn").hide();
    $("#tianKongAnswerDiv1").hide();
    $("#tianKongAnswerDiv2").hide();
    $("#tianKongAnswerDiv3").hide();
    $("#tianKongAnswerDiv4").hide();

    if(typeNo == '01' || typeNo == '02'){ //单选或多选
        $("#chooseTypeDiv").show();  //单选多选选项
        $("#optionBtn").show(); //  增加删除选项按钮
        if(typeNo == '02') { //多选
            $("#checkBoxAnswerDiv").show(); //多选正确答案
            $("#radioAnswerDiv").hide(); //单选正确答案
            $("#checkAnswerDiv").hide();  //判断题正确答案
            $("#textAnswerDesc").hide();    //文字题正确答案
            //正确答案选项切换
            chooseAnserChange(typeNo);
        }else{
            $("#radioAnswerDiv").show(); //单选正确答案
            $("#checkBoxAnswerDiv").hide(); //多选正确答案
            $("#checkAnswerDiv").hide();  //判断题正确答案
            $("#textAnswerDesc").hide();    //文字题正确答案
            //正确答案选项切换
            chooseAnserChange(typeNo);
        }
    }else{ //非选择题
        $("#optionBtn").hide(); //  增加删除选项按钮
        $("#chooseTypeDiv").hide();  //单选多选选项
        if(typeNo == '03'){ //判断题
            $("#checkAnswerDiv").show();  //判断题正确答案
            $("#radioAnswerDiv").hide(); //单选正确答案
            $("#checkBoxAnswerDiv").hide(); //多选正确答案
            $("#textAnswerDesc").hide();    //文字题正确答案

        } else if(typeNo == '04'){ //填空题
            $("#checkAnswerDiv").hide();  //判断题正确答案
            $("#radioAnswerDiv").hide(); //单选正确答案
            $("#checkBoxAnswerDiv").hide(); //多选正确答案
            $("#textAnswerDesc").hide();    //文字题正确答案

            $("#tianKongBtn").show(); // 填空题按钮
            $("#tianKongAnswerDiv1").show(); //空一参考答案

        }else {
            $("#textAnswerDesc").show();    //文字题正确答案
            $("#checkAnswerDiv").hide();  //判断题正确答案
            $("#radioAnswerDiv").hide(); //单选正确答案
            $("#checkBoxAnswerDiv").hide(); //多选正确答案
        }
    }
}


// 检查表单内容
function checkFormValue(){
    //非空验证
    if($("#title").val() == ""){
        layer.msg("试题内容不能为空");
        return false;
    }

    //设置varAnswer 的值
    var answer = "";
    allOptions();
    var radioVal = $("#chrType").val();

    // 新增客观题以及填空题时，题目中必须要有（）
    if (radioVal == '01' || radioVal == '02' || radioVal == '03' || radioVal == '04') {
        var num = checkTianKongNum();
        if (num == 0) {
            layer.msg("题目中没有（），无法保存。");
            return false;
        }
    }

    //单选
    if(radioVal == '01'){
        if(optionsIsNull() == false){
            layer.msg("选项内容不能为空！");
            return false;
        }

    }

    //多选
    if(radioVal == '02'){
        if(optionsIsNull() == false){
            layer.msg("选项内容不能为空！");
            return false;
        }

    }


    if(radioVal == '03'){
        $("#chooseOptions").html("");
    }else {
        $("#checkOptions").html("");
    }


    return true;
}


// 检查题目内容括号个数
function checkTianKongNum() {

    // 题目内容
    var title = $("#title").val();

    // 正则表达式
    var reg = /[\(|（]([^\(\)（）]*)[\)|）]/ig;

    var t = title.match(reg);

    if (t == null) {
        return 0;
    }

    // 总共括号个数
    var num = title.match(reg).length;

    // 返回括号个数
    return num;

}


// 单选多选选项内容是否为空
function optionsIsNull() {
    var result = true;
    $("#chooseOptions .row").each(function () {
        var obj = $(this);
        var objOption = $(obj).attr("opName");
        var textareaText = $(obj).find(" textarea").val();
        if(objOption == 'A' || objOption == 'B'|| objOption == 'C'){
            if(textareaText == ""){
                result = false;
            }
        }
    });
    return result;
}


//清空未填选项
function allOptions() {
    $("#chooseOptions .row").each(function () {
        var obj = $(this);
        var objOption = $(obj).attr("opName");
        var textareaText = $(obj).find(" textarea").val();
        if(textareaText != ""){
            options.push(objOption);//记录有内容的选项
        }
    });
}

// 选项内容增加删除一项
function optionsAddOrDel(funcName){
    $("#addOrDelOptions .row").each(function () {

        var obj = $(this);
        var objOption = $(obj).attr("opName");
        var objDisplay = $(obj).css("display");

        var typeNo = $("#chrType").val();

        //添加一项
        if(funcName == 'add'){
            $("#delOption").show();

            if(objDisplay == "none"){
                if(typeNo == '02') { //多选
                    $("input[name='checkBoxAnswer'][value='"+objOption+"']").show().next().show();
                }
                else if(typeNo == '01'){ //单选
                    $("select[name='radioAnswer'] option[value='"+objOption+"']").show();
                }

                if(objOption == "F"){
                    $("#addOption").hide();
                }
                $(obj).css("display","block").find('textarea').val("");
                return false;
            }
        }
        //删除一项
        else{

            $("#addOption").show();

            var prevOption = $(obj).prev().attr("opName");

            if(objOption == 'F'){
                if(objDisplay == "none"){
                    $(obj).prev().css("display","none");
                    $(obj).prev().find('textarea').val("");
                    if(typeNo == '02') { //多选
                        $("input[name='checkBoxAnswer'][value='"+prevOption+"']").hide().next().hide();
                    }
                    else if(typeNo == '01'){ //单选
                        $("select[name='radioAnswer'] option[value='"+objOption+"']").prev().hide();
                    }

                }else{
                    $(obj).css("display","none");
                    $(obj).find('textarea').val("");
                    if(typeNo == '02') { //多选
                        $("input[name='checkBoxAnswer'][value='"+objOption+"']").hide().next().hide();
                    }
                    else if(typeNo == '01'){ //单选
                        $("select[name='radioAnswer'] option[value='"+objOption+"']").hide();
                    }
                }

                return false;
            }
            else{
                if(objDisplay == "none"){
                    if(objOption == "E"){
                        $("#delOption").hide();
                    }
                    if(objOption == 'D'){
                        $(obj).css("display","none");
                        $(obj).find('textarea').val("");
                        if(typeNo == '02') { //多选
                            $("input[name='checkBoxAnswer'][value='"+objOption+"']").hide().next().hide();
                        }
                        else if(typeNo == '01'){ //单选
                            $("select[name='radioAnswer'] option[value='"+objOption+"']").hide();
                        }
                    }else{
                        $(obj).prev().css("display","none");
                        $(obj).prev().find('textarea').val("");
                        if(typeNo == '02') { //多选
                            $("input[name='checkBoxAnswer'][value='"+prevOption+"']").hide().next().hide();
                        }
                        else if(typeNo == '01'){ //单选
                            $("select[name='radioAnswer'] option[value='"+objOption+"']").prev().hide();
                        }
                    }
                    return false;
                }
            }
        }
    });
}


//单选多选切换
function chooseAnserChange(typeId){
    $("#chooseOptions .row").each(function () {
        var obj = $(this);
        var objOption = $(obj).attr("opName");
        var objDisplay = $(obj).css("display");
        if(objDisplay == 'none'){
            if(typeId == '01'){//单选
                $("select[name='radioAnswer'] option[value='"+objOption+"']").hide();
            }
            else if(typeId == '02'){  //多选
                $("input[name='checkBoxAnswer'][value='"+objOption+"']").hide().next().hide();
            }

        }else{
            if(typeId == '01'){//单选
                $("select[name='radioAnswer'] option[value='"+objOption+"']").show();
            }
            else if(typeId == '02'){  //多选
                $("input[name='checkBoxAnswer'][value='"+objOption+"']").show().next().show();
            }
        }
    });

}

// 点击上传图片  弹出图片上传模态框
function uploadImage(lableId) {

    // 记录当前上传图片的地方
    $("#imageLable").val(lableId);

    //$("#attachmentUploadDialog").modal("show");
    $("#fileList").val("");

    layer.open({
        type: 2,
        title: '上传附件（支持格式包括:jpg,png）',
        area: ['1000px', '400px'],		//弹出层大小
        scrollbar: false,				//false隐藏滑动块
        btn:['保存','取消'],
        content: [appPath + '/admin/questionSelf/upload?ifImg=1' , 'yes'],
        btn1: function(index, layero) {
            layer.close(index);
            var fileList = layero.find("iframe")[0].contentWindow.$("#fileList").val();
            saveImg(fileList);
        },
        btn2: function(index) {
            layer.close(index);
        }
    });

}

function saveImg(fileList){

    if("" == fileList){
        layer.msg("请先上传图片后保存！",{icon:7});
        return;
    }

    var arr = [];

    // 点击的是哪个地方的按钮
    var imageLable = $("#imageLable").val();

    // 选项图片最多只能一张
    if (imageLable == 'itemALable' || imageLable == 'itemBLable' || imageLable == 'itemCLable'
        || imageLable == 'itemDLable' || imageLable == 'itemELable' ||imageLable == 'itemFLable') {

        var lableImages = fileList;
        arr = lableImages.split(";");
        // 就用第一张图片
        $("#"+ imageLable + "Images").val(arr[0]);

        var html  = "";

        var sing = arr[0].split(",");

        html += '<label id="'+ sing[0].split(".")[0] +'">';
        html += '<span>'+ sing[1] +'</span>&nbsp;&nbsp;';
        html += '<a style="color: #0e90d2" href="'+ appPath +'/popup/msg/download/'+ sing[0] +'?fileName='+ sing[1] +'">下载</a>&nbsp;&nbsp;';
        html += '<a style="color: #0e90d2" onclick="delLable(\''+ sing[0].split(".")[0] +'\',\''+ imageLable +'\')">删除</a>';
        html += '</br>';
        html += '</label>&nbsp;&nbsp;&nbsp;';

    } else {

        // 为对应的点击图片添加值
        var lableImages = $("#"+ imageLable + "Images").val();
        if (lableImages == "") {
            lableImages = fileList;
        } else {
            lableImages = lableImages + ";" + fileList ;
        }
        arr = lableImages.split(";");
        $("#"+ imageLable + "Images").val(lableImages);


        var html  = "";
        for (var i = 0; i < arr.length ; i++) {

            var sing = arr[i].split(",");

            // html += '<lable id=\'' + sing[0].split(".")[0] + '\'><span>' + sing[1] + '</span>' + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a style="color: #0e90d2" onclick="delLable(\''+sing[0].split(".")[0]+'\',\''+ imageLable +'\')" >' + '删除' + "</a></br></lable>";

            html += '<label id="'+ sing[0].split(".")[0] +'">';
            html += '<span>'+ sing[1] +'</span>&nbsp;&nbsp;';
            html += '<a style="color: #0e90d2" href="'+ appPath +'/popup/msg/download/'+ sing[0] +'?fileName='+ sing[1] +'">下载</a>&nbsp;&nbsp;';
            html += '<a style="color: #0e90d2" onclick="delLable(\''+ sing[0].split(".")[0] +'\',\''+ imageLable +'\',\''+ arr +'\')">删除</a>';
            html += '</br>';
            html += '</label>&nbsp;&nbsp;&nbsp;';

        }

    }


    $("#" + imageLable).html(html);


    layer.msg("上传成功",{icon:1});

}


// 删除页面显示图片
function delLable(key,imageLable, fileName) {
    var result = '';
    // 获取对应lable的图片值
    var value = $("#" + imageLable + "Images").val();

    var arr = value.split(",");
    for (var i = 0; i < arr.length ; i++) {
        var str = arr[i];
        var strarr = str.split(";")[0];
        var s = strarr.split(".");
        if (key == s[0]) {
            continue;
        }
        result += str + ",";
    }

    if (result != '') {
        result = result.substr(0,result.length-1);
    }

    $("#" + imageLable + "Images").val(result);
    $("#" + key).remove();

    $.ajax({
        url: appPath + '/popup/fastDelete',
        async: true,
        type: 'post',
        data: {'fileName': fileName},
        success: function(data){
        }
    });
}
